1. Field of the Invention
The present invention relates to information storage and display systems utilizing disk drives, and more particularly, to video recording systems that transfer both time-critical, error-tolerant streaming video data segments and non-time-critical, error-intolerant data segments.
2. Description of the Related Art
Hard disk drives using ATA (Advanced Technology Attachment) data transfer command sets are commonly used in non-audiovisual, computer-related applications which require a high level of accuracy for the data segments transferred between the disk drive and other system components. These non-audiovisual data segments are typically referred to as xe2x80x9cinformation technologyxe2x80x9d or xe2x80x9cITxe2x80x9d data segments. When a host processor sends a data transfer command to the disk drive to transfer an IT data segment, the host processor requires a high level of accuracy for the IT data segment, i.e., that the IT data segment be substantially free of errors. To ensure the required level of accuracy for IT data segments written to the disk drive or transmitted to the other system components, ATA read and write data transfer commands to the disk drive typically require some disk-drive-resident error recovery, in which the disk drive undertakes various error recovery procedures in an attempt to transfer the IT data segment with no data transfer errors. These disk-drive-resident error recovery procedures can include detection, identification, and correction procedures.
For example, these disk-drive-resident error recovery may include multiple retries, or other xe2x80x98heroicxe2x80x99 efforts to ensure that the requested IT data segments have the required level accuracy. Depending on the success of the various retries or other efforts, the disk-drive-resident error recovery may require additional time by the disk drive, thereby possibly delaying the transfer of other data segments. Despite these possible delays, it is generally acceptable in non-audiovisual applications to carry out the disk-drive-resident error recovery to ensure the accuracy of the IT data segments being written or transmitted. Therefore, the IT data segments can be described as non-time-critical, error-intolerant data segments because their transfers may be delayed without sacrificing system performance, but their transfers must not create errors which would lower the level of accuracy of the data segments.
Audiovisual applications for audiovisual or xe2x80x9cAVxe2x80x9d data segments corresponding to a video data stream have different requirements than do non-audiovisual applications. Audiovisual applications place more importance on the predictability of AV data transfer, while tolerating some loss in AV data accuracy. By their nature, AV data segments must be continually transferred at a required data transfer rate. The required data transfer rate for a video data stream is typically less than the maximum possible data transfer rate for the disk drive, resulting in additional bandwidth available for the concurrent transfer of additional data segments, some of which correspond to other video data streams. Even a small delay in the transfer of an AV data segment can deleteriously affect the system performance and can be quite noticeable to the user. However, because each AV data segment is quickly replaced by the next AV data segment, an error in a particular AV data segment would be nearly undetectable by the user. Thus, AV data segments can be described as time-critical, error-tolerant data segments because their transfers must not be delayed, but their transfers may create errors which would lower the level of accuracy of the data segments.
Audiovisual applications are therefore enhanced by modifications to the standard ATA data transfer command set for hard disk drive usage. One of these modifications has been the introduction of data transfer command sets optimized for audiovisual applications. For example, a document identified as xe2x80x9cT13/D99128 revision 0xe2x80x9d entitled xe2x80x9cProposal for Audio/Visual Feature Setxe2x80x9d available from Western Digital Corporation of Irvine, Calif., and a document identified as xe2x80x9cT13D99123 revision 1xe2x80x9d entitled xe2x80x9cProposal for Streaming AV Commandsxe2x80x9d available from Seagate Technology of Longmont, Colo., both of which are incorporated by reference herein, propose alternative data transfer command sets for the storage on hard disk drives of streaming AV data and non-streaming IT data. These data transfer command sets add new instructions to the standard ATA data transfer command set to guarantee the timely transfer of AV data segments at the possible expense of the accuracy of the AV data segments.
As described in the above-referenced xe2x80x9cProposal for Audio/Visual Feature Setxe2x80x9d from Western Digital Corporation, the xe2x80x9cStreamweaverxe2x80x9d data transfer command set incorporates additional data transfer commands into the standard ATA data transfer command set. These additional data transfer commands enable the host processor to alter the disk drive parameters and functions related to AV data transfer by toggling the disk drive between an AV mode and an IT mode. In the AV mode, the disk drive may reconfigure resources to support the streaming requirement of the AV data segments, and may set an upper limit on the total time devoted to error recovery in the event of a data transfer error, thereby constraining any disk-drive-resident error recovery. Similarly, in the IT mode, the disk drive may reconfigure resources to support the accuracy requirement of the IT data segments. In addition, the xe2x80x9cStreamweaverxe2x80x9d data transfer command set includes a xe2x80x9cRead AV Streamxe2x80x9d command and a xe2x80x9cWrite AV Streamxe2x80x9d command which require fewer disk-drive-resident error recovery procedures in the event of a data transfer error than are required by the corresponding read and write commands of the standard ATA data transfer command set. Having fewer disk-drive-resident error recovery procedures is an effort to minimize the possibility of delaying the transfer of other AV data segments.
When being used in a video recording system, such as a digital video recorder, a disk drive is typically required to transfer streaming AV data segments concurrently with IT data segments corresponding to information such as an electronic program guide. In such a system, it is desirable that the disk drive transfer the IT data segments with the required high accuracy in response to data transfer commands by the host processor, while maintaining the required data transfer rate for the streaming AV data segments. Because the required data transfer rate for a video data stream is typically less than the maximum possible data transfer rate, there is usually sufficient bandwidth remaining to transfer both the streaming AV data segments and the IT data segments. However, due to the disk-drive-resident error recovery inherent in the standard read and write commands of the ATA data transfer command set, use of the standard read and write commands of the ATA command set for transferring the IT data segments may potentially exceed the available time, thereby interrupting or delaying the streaming AV data segments.
The present invention may be regarded as a method of transferring a non-time-critical, error-intolerant data segment stored or to be stored on a disk drive, which is responsive to a set of data transfer commands generated by: a host processor and which is operating in a mode optimized for transferring time-critical, error-tolerant streaming data segments stored or to be stored on the disk drive. The method comprises sending a sequence of data transfer commands generated by the host processor to the disk drive to transfer a respective sequence of time-critical, error-tolerant streaming data segments at a required data transfer rate. The method further comprises selectively interposing a first data transfer command into the sequence of data transfer commands, the first data transfer command initiating a first transfer of the non-time-critical, error-intolerant data segment. The method further comprises transmitting a data transfer error signal generated by the disk drive to the host processor, the data transfer error signal having a state that indicates whether any data transfer errors have occurred with respect to the first transfer of the non-time-critical, error-intolerant data segment. The method further comprises selectively initiating host-processor-resident error recovery in response to the state of the data transfer error signal to achieve an accuracy required for the non-time-critical, error-intolerant data segment while maintaining the required data transfer rate of the sequence of time-critical, error-tolerant data segments.
The present invention may also be regarded as a method of transferring a non-time-critical, error-intolerant data segment stored or to be stored on a disk drive, which is responsive to a set of data transfer commands generated by a host processor and which is operating in a mode optimized for transferring time-critical, error-tolerant streaming data segments stored or to be stored on the disk drive. The method comprises sending a sequence of data transfer commands generated by the host processor to the disk drive to transfer a respective sequence of time-critical, error-tolerant streaming data segments within a data transfer bandwidth less than a maximum bandwidth for the disk drive. The method further comprises selectively interposing a first data transfer command into the sequence of data transfer commands, the first data transfer command initiating a first transfer of the non-time-critical, error-intolerant data segment, the first transfer of the non-time-critical, error-intolerant data segment occurring within a remaining bandwidth that is a difference between the maximum bandwidth and the data transfer bandwidth. The method further comprises transmitting a data transfer error signal generated by the disk drive to the host processor, the data transfer error signal having a state that indicates whether any data transfer errors have occurred with respect to the first transfer of the non-time-critical, error-intolerant data segment. The method further comprises selectively initiating host-processor-resident error recovery in response to the state of the data transfer error signal to achieve an accuracy required for the non-time-critical, error-intolerant data segment while maintaining the data transfer bandwidth for the sequence of time-critical, error-tolerant data segments.
The present invention may also be regarded as a video recording system to record and playback non-time-critical, error-intolerant data segments and time-critical, error-tolerant streaming data segments using a disk drive responsive to a set of data transfer commands and optimized for transferring time-critical, error-tolerant streaming data segments at a required data transfer rate. The video recording system comprises a user interface that receives user input, and a video input interface that receives an external video data stream for a selected video program segment and that generates time-critical, error-tolerant streaming data segments. The video recording system further comprises a video output interface that is connectable to a display device, and a data management system. The data management system comprises at least one data buffer that receives, stores, and transmits time-critical, error-tolerant streaming data segments. The data management system further comprises a host processor that generates a sequence of data transfer commands sent to the disk drive to transfer a respective sequence of time-critical, error-tolerant streaming data segments at the required data transfer rate. The host processor also selectively interposes a first data transfer command into the sequence of data transfer commands, the first data transfer command initiating a first transfer of a non-time-critical, error-intolerant data segment. The host processor also receives a data transfer error signal generated by the disk drive, the data transfer error signal having a state that indicates whether any data transfer errors have occurred in the first transfer of the non-time-critical, error-intolerant data segment. The host processor also selectively initiates host-processor-resident error recovery in response to the state of the data transfer error signal to achieve an accuracy required for the non-time-critical, error-intolerant data segment while maintaining the required data transfer rate of the sequence of time-critical, error-tolerant streaming data segments.